Powierzchnia 3D: Przekrój powierzchni |
Lokalizacja w menu |
---|
Surface → Sections |
Środowisko pracy |
Powierzchnia 3D |
Domyślny skrót |
brak |
Wprowadzono w wersji |
0.19 |
Zobacz także |
brak |
Polecenie Przekrój powierzchni służy do tworzenia powierzchni z krawędzi, które reprezentują poprzeczne przekroje powierzchni.
Po lewej: krawędzie kontrolne (przekroje poprzeczne). Po prawej: powierzchnia utworzona z tych krawędzi.
Obiekt Przekrój powierzchni (klasa Surface::Sections
) jest pochodną podstawowej klasy Część: Cecha (klasa Part::Feature
, poprzez klasę podrzędną Part::Spline
), dlatego też dzieli z nią wszystkie jej właściwości.
Oprócz właściwości opisanych na stronie Cecha części, obiekt Przekrój powierzchni, posiada następujące właściwości w edytorze właściwości.
Przekroje
LinkSubList
): lista krawędzi, które zostaną użyte do zbudowania powierzchni.
Podstawa
Bool
): wartość domyślna to FAŁSZ
, Jeśli ustawiono PRAWDA
, wyświetlona zostanie nakładka z punktami kontrolnymi krzywej.
Kształt powierzchni zależy od kierunku wybranych krawędzi. Jeśli krawędzie zostaną wybrane, a wynikiem będzie powierzchnia, która "zakręca" na siebie, jedna z krawędzi może wymagać listy wierzchołków w odwrotnej kolejności. Zobacz informacje na stronie Wypełnianie krzywych granicznych w celu uzyskania pełniejszego wyjaśnienia.
Zobacz również: FreeCAD podstawy tworzenia skryptów.
Narzędzie Przekrój powierzchni może być używane w makrodefinicjach i z konsoli Python poprzez dodanie obiektu Surface::Sections
.
NSections
obiektu.import FreeCAD as App
import Draft
doc = App.newDocument()
pl1 = App.Placement()
obj1 = Draft.make_circle(50, placement=pl1, face=False, startangle=0, endangle=180)
pl2 = App.Placement(App.Vector(0, 0, 25), App.Rotation())
obj2 = Draft.make_circle(30, placement=pl2, face=False, startangle=0, endangle=180)
points3 = [App.Vector(18, -10, 50),
App.Vector(12, 10, 50),
App.Vector(-12, 10, 50),
App.Vector(-18, -10, 50)]
obj3 = Draft.make_bspline(points3)
points4 = [App.Vector(15, -20, 100),
App.Vector(0, 6, 100),
App.Vector(-15, -20, 100)]
obj4 = Draft.make_bspline(points4)
doc.recompute()
surf = doc.addObject("Surface::Sections", "Surface")
surf.NSections = [(obj1, "Edge1"),
(obj2, "Edge1"),
(obj3, "Edge1"),
(obj4, "Edge1")]
doc.recompute()